public class findTheWinner {
    public int findTheWinner(int n, int k) {
        //约瑟夫环
        int p = 0;
        for (int i = 2; i <= n; i++) {
            p = (p + k) % i;
        }
        return p + 1;
    }
}
/*将上面表格的每一行看成数组，这个公式描述的是：幸存者在这一轮的下标位置

f(1,3)f(1,3)f(1,3)：只有1个人了，那个人就是获胜者，他的下标位置是0
f(2,3)=(f(1,3)+3)%2=3%2=1f(2,3)=(f(1,3)+3)\%2=3\%2=1f(2,3)=(f(1,3)+3)%2=3%2=1：在有2个人的时候，胜利者的下标位置为1
f(3,3)=(f(2,3)+3)%3=4%3=1f(3,3)=(f(2,3)+3)\%3=4\%3=1f(3,3)=(f(2,3)+3)%3=4%3=1：在有3个人的时候，胜利者的下标位置为1
f(4,3)=(f(3,3)+3)%4=4%4=0f(4,3)=(f(3,3)+3)\%4=4\%4=0f(4,3)=(f(3,3)+3)%4=4%4=0：在有4个人的时候，胜利者的下标位置为0
……
f(11,3)=6f(11,3)=6f(11,3)=6
* */
